package com.usian.wemedia.service;

import com.usian.common.dtos.PageResult;
import com.usian.model.admin.dtos.NewsAuthDto;
import com.usian.model.media.dtos.WmNewsDto;
import com.usian.model.media.dtos.WmNewsPageReqDto;
import com.usian.model.media.dtos.WmNewsResultDTO;
import com.usian.wemedia.entity.WmNews;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 自媒体图文内容信息表 服务类
 * </p>
 *
 * @author usian
 * @since 2022-10-04
 */
public interface IWmNewsService extends IService<WmNews> {
    /**
     * 分页查询
     *
     * @param dto
     * @return
     */
    PageResult<WmNewsDto> findByPage(WmNewsPageReqDto dto);

    /**
     * 保存、修改、保存草稿
     * @param wmNewsDto
     * @return
     */
    void saveNews(WmNewsDto wmNewsDto);

    /**
     * 删除文章
     *
     * @return
     */
    void deleteNews(Integer id);

    /**
     * 自媒体文章上下架功能
     */
    void downOrUp(WmNewsDto wmNewsDto);

    /**
     * 查询需要发布的文章id列表
     * @return
     */
    List<Integer> findWmNewsIds();
    /**
     * 条件查询自媒体文章列表
     */
    PageResult<WmNewsResultDTO> findWmNewsPage(NewsAuthDto dto);
}
